import request from '@/api/socialized-servce/index.js'
import requ from '@/api/socialized-servce/agr.js'
import req from '@/api/axios-login.js'
import {
	param
} from '../../../plugins/navTo'
const api = request
// ========貌似每个板块的修改和个人信息调用的接口都是一样的
export default {
	// 用户登录
	login(params) {
		return req.request("cas/v1/tickets", 'POST', params);
	},
	// 获取子系统登陆凭证ST
	tickets(tgt, params) {
		return req.request(`cas/v1/tickets/${tgt}`, 'POST', params);
	},
	// 农塑系统单点登陆
	ssologin(params) {
		return req.request(`auth/ssologin?ticket=${params}`, "GET");
	},
	// 单点登陆获取token
	token() {
		return req.request(`auth/ssologin`, "GET");
	},
	/** 
	 * 登录
	 * @param {object} params LoginBO
	 * @param {string} params.username 用户名
	 * @param {string} params.password 密码
	 * @returns
	 */
	userLogin: (data) => {
		return api.request('auth/login', 'POST', data) //上传接口地址
	},
	/**
	 * @description: 获取当前登录用户信息 *代表必填
	 * @param {Object} params *
	 * @return {Object}
	 */
	getLoginUser() {
		const url = `system/user/getCurrentUserInfo?partyType=3&partyNo=${uni.getStorageSync('partyNo')}`
		return api.request(url, "GET")
	},
	
		// 查询用户信息
		queryByUserNo(params) {
			let url = 'system/user/queryByUserNo?userNo=' + params.userNo
			return api.request(url, 'get', params)
		},
	/** 
	 * 修改
	 * @param {object} params SysUser
	 * @param {number} params.createUserId 
	 * @param {number} params.updateUserId 
	 * @param {boolean} params.deleteFlag 
	 * @param {object} params.createTime 
	 * @param {object} params.timestamp 
	 * @param {number} params.userId 用户id
	 * @param {string} params.userName 用户账号
	 * @param {string} params.nickName 用户昵称
	 * @param {string} params.userType 用户类型(参考枚举类型: UserType)
	 * @param {string} params.email 用户邮箱
	 * @param {string} params.phoneNumber 手机号码
	 * @param {string} params.sex 用户性别(0=女,1=男,2=未知)
	 * @param {string} params.avatar 用户头像(地址)
	 * @param {string} params.status 帐号状态(0正常 1停用)
	 * @param {object} params.birthday 生日
	 * @param {string} params.loginIp 最后登录IP
	 * @param {object} params.loginDate 最后登录时间
	 * @param {string} params.remarks 备注
	 * @param {array} params.roles 额外字段: 角色对象数组
	 * @param {array} params.roleIds 额外字段: 角色id数组
	 * @param {boolean} params.admin 额外字段: 管理员标识
	 * @returns
	 */
	edit(params) {
		const url = 'system/user/edit'
		return api.request(url, 'put', params)

	},

	/** 
	 * 修改密码
	 * @param {object} params UpdatePasswordBO
	 * @param {string} params.oldPassword 旧密码
	 * @param {string} params.newPassword 新密码
	 * @returns
	 */
	updatePassword(params) {
		const url = 'cas/editPassword'
		return requ.request(url, 'post', {
			...params
		})
	},

	updateStatus(params) {
		const url = 'expert/person/updateStatus'
		return api.request(url, 'post', {
			...params
		})
	},
	// 根据用户名获取密保问题
	findQuestionListByUserName(params) {
		return api.request("system/securityQuestion/findQuestionListByUserName", "get", params)
	},
	// 密保验证
	questionVerification(params) {
		return api.request('system/user/questionVerification', 'post', params)
	},
	// 找回密码
	findBackPassword(params) {
		return api.request('system/user/findBackPassword', 'post', params)
	},
	// 获取验证码
	queryVerificationCode(params) {
		return requ.request(`cas/sms/queryVerificationCode?phone=${params.phone}&signName=${params.signName}`, 'get')
	},
	// 校验验证码
	checkCode(params) {
		return requ.request(`cas/sms/checkCode`, 'post', params)
	},
	// 获取验证码
	querySendCode(params) {
		return request.request(`notice/verificationCode/sendCode`, 'post', params)
	},
	// 校验验证码
	queryVerificatCode(params) {
		return request.request(`notice/verificationCode/verificationCode`, 'post', params)
	},
	// 修改密码
	forgotPassword(params) {
		return requ.request(`cas/forgotPassword`, 'post', params)
	},
	// 单点登录注册
	registerSso(params) {
		return requ.request('cas/registered', 'post', params)
	},
	// 普通用户注册
	register(params) {
		return api.request('system/user/register', 'post', params)
	},
	// 专家用户注册
	expertRegister(params) {
		return api.request('system/registration/expert', 'post', params)
	},
	sendCid(params) {
		return api.request('notice/pushInfo/add', 'post', params)
	},
	//
	sendConfigCid(params) {
		return api.request('notice/contacts/add', 'post', params)
	},

	// 服务方系统切换运营方
	queryOperator(params) {
		let url = 'system/organization/switchProvider'
		return api.request(url, 'get', {
			...params
		})
	},
	// 服务方系统切换服务方系统
	switchOrganization(params) {
		let url = 'system/organization/switchOrganization'
		return api.request(url, 'get', {
			...params
		})
	},
	// 会员条件查询
	queryOrganizationByNo(params) {
		let url = 'system/organization/queryByNo'
		return api.request(url, 'get', {
			...params
		})
	},
	// 重置邀请码
	resetInviteCode(params) {
		let url = 'system/organization/resetInviteCode'
		return api.request(url, 'post', {
			...params
		})
	},
	//注销
	deactivate(params) {
		let url = 'auth/cancelAccount'
		return api.request(url, 'get', {
			...params
		})
	},
	// 服务上下线
	onlineAndOffline (params) {
		return request.request(`system/organization/onlineAndOffline?organizationNo=${params.organizationNo}&status=${params.status}`, 'get', params)
	},
	// 会员条件查询
	queryMemberByNo(params) {
		let url = 'system/organization/queryByNo'
		return api.request(url, 'get', {
			...params
		})
	},
	queryIsMachinery() {
		return api.request('service/service/driver/serviceProvider/list', 'get')
	},
	queryIsAnchor() {
		return api.request('service/service/anchor/audit/serviceProvider/list', 'get')
	},
	queryIsExpert() {
		return api.request('expert/person/serviceProvider/list', 'get')
	},
	// 判断当前用户是否禁言
	queryDisableMsg(params) {
		let url = 'expert/disableSendMsg/queryByCondition'
		return api.request(url, 'post', {
			...params
		})
	},
	// 扫码二维码登录
	authLoginCode(params) {
		let url = `auth/qrCode/authLoginCode`
		return api.request(url, 'get', params)
	},
	// 获取单点登录注册信息
	getUserInfo () {
		return request.request(`auth/getUserInfo`, 'get');
	},
	// 子系统注册完善信息
	registerSocialized (params) {
		return api.request('system/user/register', 'post', params)
	},
	// 获取组织
	queryParty (params) {
		return api.request('system/partyUser/queryByCondition', 'post', params)
	},
	// 获取组织
	queryEntryInfo (params) {
		return api.request('system/partyUser/queryEntryInfo', 'get', params)
	},
}